package com.bsg.upm.entity;

import java.io.Serializable;
import java.util.Date;

/**
 * 备份策略实体类
 * 
 * @author HCK
 *
 */
public class BackupStrategyEntity extends BaseEntity implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * 备份策略编码
	 */
	private String id;

	/**
	 * 备份策略类型
	 */
	private String type;

	/**
	 * 备份策略cron表达式
	 */
	private String cronExpression;

	/**
	 * 过期时间
	 */
	private Date expireDatetime;

	/**
	 * 备份文件保留天数
	 */
	private Integer retention;

	/**
	 * 是否可用
	 */
	private Boolean enabled;

	/**
	 * 备注
	 */
	private String remark;

	/**
	 * 所属服务
	 */
	private ServEntity serv;

	/**
	 * 获取备份策略编码
	 * 
	 * @return id 备份策略编码
	 */
	public String getId() {
		return id;
	}

	/**
	 * 设置备份策略编码
	 * 
	 * @param id
	 *            备份策略编码
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取备份策略类型
	 * 
	 * @return type 备份策略类型
	 */
	public String getType() {
		return type;
	}

	/**
	 * 设置备份策略类型
	 * 
	 * @param type
	 *            备份策略类型
	 */
	public void setType(String type) {
		this.type = type;
	}

	/**
	 * 获取备份策略cron表达式
	 * 
	 * @return cronExpression 备份策略cron表达式
	 */
	public String getCronExpression() {
		return cronExpression;
	}

	/**
	 * 设置备份策略cron表达式
	 * 
	 * @param cronExpression
	 *            备份策略cron表达式
	 */
	public void setCronExpression(String cronExpression) {
		this.cronExpression = cronExpression;
	}

	/**
	 * 获取过期时间
	 * 
	 * @return expireDatetime 过期时间
	 */
	public Date getExpireDatetime() {
		return expireDatetime;
	}

	/**
	 * 设置过期时间
	 * 
	 * @param expireDatetime
	 *            过期时间
	 */
	public void setExpireDatetime(Date expireDatetime) {
		this.expireDatetime = expireDatetime;
	}

	/**
	 * 获取备份文件保留天数
	 * 
	 * @return retention 备份文件保留天数
	 */
	public Integer getRetention() {
		return retention;
	}

	/**
	 * 设置备份文件保留天数
	 * 
	 * @param retention
	 *            备份文件保留天数
	 */
	public void setRetention(Integer retention) {
		this.retention = retention;
	}

	/**
	 * 获取是否可用
	 * 
	 * @return enabled 是否可用
	 */
	public Boolean getEnabled() {
		return enabled;
	}

	/**
	 * 设置是否可用
	 * 
	 * @param enabled
	 *            是否可用
	 */
	public void setEnabled(Boolean enabled) {
		this.enabled = enabled;
	}

	/**
	 * 获取备注
	 * 
	 * @return remark 备注
	 */
	public String getRemark() {
		return remark;
	}

	/**
	 * 设置备注
	 * 
	 * @param remark
	 *            备注
	 */
	public void setRemark(String remark) {
		this.remark = remark;
	}

	/**
	 * 获取所属服务
	 * 
	 * @return serv 所属服务
	 */
	public ServEntity getServ() {
		return serv;
	}

	/**
	 * 设置所属服务
	 * 
	 * @param serv
	 *            所属服务
	 */
	public void setServ(ServEntity serv) {
		this.serv = serv;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return "BackupStrategyEntity [id=" + id + ", type=" + type + ", cronExpression=" + cronExpression
				+ ", expireDatetime=" + expireDatetime + ", retention=" + retention + ", enabled=" + enabled
				+ ", remark=" + remark + ", serv=" + serv + "]";
	}

}
